/*
 *
 *  *
 *  *  Copyright (c) 2020-2022, Java知识图谱 (http://www.altitude.xin).
 *  *
 *  *  Licensed under the Apache License, Version 2.0 (the "License");
 *  *  you may not use this file except in compliance with the License.
 *  *  You may obtain a copy of the License at
 *  *
 *  *      http://www.apache.org/licenses/LICENSE-2.0
 *  *
 *  *  Unless required by applicable law or agreed to in writing, software
 *  *  distributed under the License is distributed on an "AS IS" BASIS,
 *  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  *  See the License for the specific language governing permissions and
 *  *  limitations under the License.
 *  *
 *
 */

package xin.altitude.cms.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.cache.decorators.ScheduledCache;
import xin.altitude.cms.framework.core.domain.SysMenu;

/**
 * 菜单表 数据层
 *
 * @author ucode
 */
// @Mapper
@CacheNamespace(eviction = ScheduledCache.class, blocking = true, flushInterval = 86400 * 1000)
public interface SysMenuMapper extends BaseMapper<SysMenu> {
    // /**
    //  * 查询系统菜单列表
    //  *
    //  * @param menu 菜单信息
    //  * @return 菜单列表
    //  */
    // public List<SysMenu> selectMenuList(SysMenu menu);
    //
    // /**
    //  * 根据用户所有权限
    //  *
    //  * @return 权限列表
    //  */
    // public List<String> selectMenuPerms();
    //
    // /**
    //  * 根据用户查询系统菜单列表
    //  *
    //  * @param menu 菜单信息
    //  * @return 菜单列表
    //  */
    // public List<SysMenu> selectMenuListByUserId(SysMenu menu);
    //
    // /**
    //  * 根据用户ID查询权限
    //  *
    //  * @param userId 用户ID
    //  * @return 权限列表
    //  */
    // public List<String> selectMenuPermsByUserId(Long userId);
    //
    // /**
    //  * 根据用户ID查询菜单
    //  *
    //  * @return 菜单列表
    //  */
    // public List<SysMenu> selectMenuTreeAll();
    //
    // /**
    //  * 根据用户ID查询菜单
    //  *
    //  * @param userId 用户ID
    //  * @return 菜单列表
    //  */
    // public List<SysMenu> selectMenuTreeByUserId(Long userId);
    //
    // /**
    //  * 根据角色ID查询菜单树信息
    //  *
    //  * @param roleId            角色ID
    //  * @param menuCheckStrictly 菜单树选择项是否关联显示
    //  * @return 选中菜单列表
    //  */
    // public List<Integer> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly);
    //
    // /**
    //  * 根据菜单ID查询信息
    //  *
    //  * @param menuId 菜单ID
    //  * @return 菜单信息
    //  */
    // public SysMenu selectMenuById(Long menuId);
    //
    // /**
    //  * 是否存在菜单子节点
    //  *
    //  * @param menuId 菜单ID
    //  * @return 结果
    //  */
    // public int hasChildByMenuId(Long menuId);
    //
    // /**
    //  * 新增菜单信息
    //  *
    //  * @param menu 菜单信息
    //  * @return 结果
    //  */
    // public int insertMenu(SysMenu menu);
    //
    // /**
    //  * 修改菜单信息
    //  *
    //  * @param menu 菜单信息
    //  * @return 结果
    //  */
    // public int updateMenu(SysMenu menu);
    //
    // /**
    //  * 删除菜单管理信息
    //  *
    //  * @param menuId 菜单ID
    //  * @return 结果
    //  */
    // public int deleteMenuById(Long menuId);
    //
    // /**
    //  * 校验菜单名称是否唯一
    //  *
    //  * @param menuName 菜单名称
    //  * @param parentId 父菜单ID
    //  * @return 结果
    //  */
    // public SysMenu checkMenuNameUnique(@Param("menuName") String menuName, @Param("parentId") Long parentId);
}
